package com.authine.cloudpivot.ext.applicationservice.v1.sourcing.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("还价历史VO")
public class QuotationGoodsAppHisVO {

    @ApiModelProperty("id")
    private String id;

    @ApiModelProperty("外部来源client_id")
    @JsonProperty("clientId")
    private String client_id;

    @ApiModelProperty("外部来源报价商品id")
    @JsonProperty("clientQuotationGoodsId")
    private String client_quotation_goods_id;

    @ApiModelProperty("审核失败的原因")
    @JsonProperty("approvedFailedReason")
    private String approved_failed_reason;

    @ApiModelProperty("组织商品类目名称")
    @JsonProperty("orgCategoryName")
    private String org_category_name;

    @ApiModelProperty("商品编码SKU")
    private String sku;

    @ApiModelProperty("条形码")
    @JsonProperty("barCode")
    private String bar_code;

    @ApiModelProperty("商品名")
    private String name;

    @ApiModelProperty("品牌")
    private String brand;

    @ApiModelProperty("型号")
    private String model;

    @ApiModelProperty("规格")
    private String spec;

    @ApiModelProperty("单价")
    private BigDecimal price;

    @ApiModelProperty("未税单价")
    @JsonProperty("pretaxPrice")
    private BigDecimal pretax_price;

    @ApiModelProperty("货期-1为现货")
    private BigDecimal delivery;

    @ApiModelProperty("数量")
    private BigDecimal num;

    @ApiModelProperty("单位")
    private String unit;

    @ApiModelProperty("包装数量")
    @JsonProperty("packageNum")
    private BigDecimal package_num;

    @ApiModelProperty("包装单位")
    @JsonProperty("packageUnit")
    private String package_unit;

    @ApiModelProperty("运费")
    private BigDecimal freight;

    @ApiModelProperty("运费税率")
    @JsonProperty("taxRateFreight")
    private BigDecimal tax_rate_freight;

    @ApiModelProperty("税前运费")
    @JsonProperty("pretaxFreight")
    private BigDecimal pretax_freight;

    @ApiModelProperty("运费税额")
    @JsonProperty("taxPayableFreight")
    private BigDecimal tax_payable_freight;

    @ApiModelProperty("小计，单价*数量")
    private BigDecimal total;

    @ApiModelProperty("未税小计")
    @JsonProperty("pretaxTotal")
    private BigDecimal pretax_total;

    @ApiModelProperty("税率")
    @JsonProperty("taxRate")
    private BigDecimal tax_rate;

    @ApiModelProperty("税额")
    @JsonProperty("taxPayable")
    private BigDecimal tax_payable;

    @ApiModelProperty("小计")
    private BigDecimal amount;

    @ApiModelProperty("税前小计")
    @JsonProperty("pretaxAmount")
    private BigDecimal pretax_amount;

    @ApiModelProperty("过期时间")
    private Date expire;

    @ApiModelProperty("发货地")
    private String address;

    @ApiModelProperty("附件")
    private String attachment;

    @ApiModelProperty("是否定标")
    private Integer picketage;

    @ApiModelProperty("描述")
    private String description;

    @ApiModelProperty("还价截止时间")
    @JsonProperty("counterPriceDate")
    private Date counter_price_date;

    @ApiModelProperty("还价金额（未税）")
    @JsonProperty("counterPrePrice")
    private BigDecimal counter_pre_price;

    @ApiModelProperty("最新报价")
    @JsonProperty("newQuotationPrice")
    private BigDecimal new_quotation_price;

    @ApiModelProperty("供应商最新报价时间")
    @JsonProperty("newQuotationTime")
    private Date new_quotation_time;

    @ApiModelProperty("创建时间")
    @JsonProperty("createdTime")
    private Date time;

    @ApiModelProperty("最初报价时间")
    private Date firstQuotationDate;
}
